﻿namespace UnityEngine
{
    using System;
    using System.Runtime.CompilerServices;

    internal sealed class HumanTrait : UnityEngine.Object
    {
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern int BoneFromMuscle(int i);
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern float GetMuscleDefaultMax(int i);
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern float GetMuscleDefaultMin(int i);
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern bool HasCollider(Avatar avatar, int i);
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern int MuscleFromBone(int i, int dofIndex);
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern bool RequiredBone(int i);

        private static int _BoneCount;
        public static int BoneCount { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get { return _BoneCount; } }

        private static string[] _BoneName;
        public static string[] BoneName { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get { return _BoneName; } }

        private static int _MuscleCount;
        public static int MuscleCount { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get { return _MuscleCount; } }

        private static string[] _MuscleName;
        public static string[] MuscleName { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get { return _MuscleName; } }

        public static int RequiredBoneCount { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; }
    }
}

